using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("RewardCard")]
	public class RewardCard : MonoBehaviour
	{
		public string m_CardID => method_4("m_CardID");

		public bool m_Ready => method_2<bool>("m_Ready");

		public TAG_PREMIUM m_premium => method_2<TAG_PREMIUM>("m_premium");

		public EntityDef m_entityDef => method_3<EntityDef>("m_entityDef");

		public CardDef m_cardDef => method_3<CardDef>("m_cardDef");

		public Actor m_actor => method_3<Actor>("m_actor");

		public GameLayer m_layer => method_2<GameLayer>("m_layer");

		public RewardCard(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RewardCard(IntPtr address)
			: this(address, "RewardCard")
		{
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public bool IsReady()
		{
			return method_11<bool>("IsReady", Array.Empty<object>());
		}

		public void LoadCard(CardRewardData cardData, GameLayer layer)
		{
			method_8("LoadCard", cardData, layer);
		}

		public void Death()
		{
			method_8("Death");
		}

		public void OnFullDefLoaded(string cardId, FullDef fullDef, object userData)
		{
			method_8("OnFullDefLoaded", cardId, fullDef, userData);
		}

		public void OnActorLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnActorLoaded", assetRef, go, callbackData);
		}
	}
}
